package com.financing.wap.service;

import java.sql.SQLException;
import java.util.Date;
import java.util.List;
import java.util.Map;

import com.financing.wap.common.Pager;
import com.financing.wap.dto.ProjectLikeDTO;
import com.financing.wap.vo.ProjectLikeVO;
import com.financing.wap.vo.ProjectSubVO;

/**
 * 
 * @ClassName: IProjectLikeService
 * @Description: 产品收藏 
 * @author  qiye
 * @date 2014年11月8日 下午3:50:51getPrijectLikeUpdateDateByFa
 *
 */
public interface IProjectLikeService {
	
	/**
	 * 
	 * @Title: queryProjectLike
	 * @Description: 查询产品收藏 
	 * @param @param projectLikeDTO
	 * @param @return
	 * @param @throws SQLException   
	 * @return List<ProjectLikeDTO>   
	 * @throws
	 */
	public List<ProjectLikeVO> queryProjectLike(ProjectLikeDTO projectLikeDTO,Pager pager) throws SQLException;
	
	/**
	 * 
	 * @Title: addProjectLike
	 * @Description: 添加产品收藏 
	 * @param @param projectLikeDTO
	 * @param @return
	 * @param @throws SQLException   
	 * @return int   
	 * @throws
	 */
	public int addProjectLike(ProjectLikeDTO projectLikeDTO) throws SQLException;
	
	/**
	 * 
	 * @Title: deleteProjectLike
	 * @Description: 产品收藏删除 
	 * @param @param projectLikeDTO
	 * @param @return
	 * @param @throws SQLException   
	 * @return int   
	 * @throws
	 */
	public int deleteProjectLike(ProjectLikeDTO projectLikeDTO) throws SQLException;
	
	/**
	 * 
	 * @Title: countProjectLike
	 * @Description: 查询产品收藏总数 
	 * @param @param projectId
	 * @param @return   
	 * @return int   
	 * @throws
	 */
	public int countProjectLike(Integer projectId);
	
	/**
	 * 
	 * @Title: countProjectLikeForFa
	 * @Description: 查询FA收藏产品总数 
	 * @param @param faId
	 * @param @return   
	 * @return int   
	 * @throws
	 */
	public int countProjectLikeForFa(ProjectLikeDTO projectLikeDTO);

	public int countProjectLikepType(Map<String, Object> map);

	public ProjectLikeDTO queryProjectLikeType(Map<String, Object> map) throws Exception;

	public List<ProjectSubVO> queryProjectSubFlow(List<ProjectLikeVO> projectList, Pager pager);

	public List<ProjectLikeVO> queryProjectSubForFa(String getuId);

	public int countProjectFlow(Integer getpId);
	/**
	 * 查询订单流水信息
	 * @param projectLikeDTO
	 * @return
	 */
	public ProjectSubVO queryProjectFlowById(Map<String, Object> map);
	/**
	 * 查询订阅最新更新时间
	 */
	public Date getPrijectLikeUpdateDateByFa(String id) throws SQLException;
}
